Micron Document
πŸŽ–οΈGitΠ―Ρ€Π°πŸŽ–οΈ


Displaying Rendered β€’ View raw β€’ Download

docs/gl-rES/user/firmware.md renovate/fastlane-2.x-lockfile (056eed64) Text, 10.12 KB

title: Firmware Updates
parent: User Guide
nav_order: 13
last_updated: 2026-08-30
description: Update your radio firmware over Bluetooth or USB β€” OTA process, version channels, pre-flight checks, and recovery.
aliases:
β€’ firmware
β€’ update
β€’ ota
β€’ flash

Firmware Updates

Keep your Meshtastic radio up to date with the latest firmware for new features, bug fixes, and security improvements.

Checking for Updates

1. Open the connected radio's configuration and, under Advanced, tap Firmware Update. The entry appears only for OTA-capable radios.
2. The app checks for available firmware versions.
3. Available updates show the version number and changelog summary.

Update Methods

OTA (Over-The-Air) via Bluetooth

The most common update method for Android users:

β”‚ ⚠️ Warning: Interrupting a firmware update can leave the radio unable to boot. Keep the phone
β”‚ nearby and both devices powered until the update completes.

1. Ensure your radio is connected via Bluetooth.
2. Navigate to the Firmware Update screen.
3. Select the desired firmware version.
4. Tap Update. An Update Warning dialog lists the pre-flight checks β€” read it, then tap I know what I'm doing. to start. This dialog appears for every update method, including Wi-Fi OTA, USB, and a local firmware file.
5. Wait for the update to complete β€” do not disconnect during the update.


Erase device during update

Where the app offers it, an Erase device during update checkbox appears next to the update button. It is a per-update opt-in and is never remembered.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Method β”‚ What erasing does β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ BLE / Wi-Fi OTA β”‚ Factory-resets the device once the update is verified. All settings and Bluet… β”‚
β”‚ USB β”‚ Wipes the device's flash completely, then installs the selected firmware from… β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

It is not offered for a local firmware file, during a recovery update, on USB devices whose board does not support the erase step, or over USB in the desktop app β€” the USB erase runs the Android-only maintenance sequence below. Afterwards the device needs setting up β€” and pairing β€” again.

OTA via Wi-Fi (network-connected ESP32)

When an ESP32 radio is connected over the network rather than Bluetooth, the app offers Wi-Fi OTA, which pushes the same update over TCP:

1. Connect to the radio over the network (see Connections).
2. Open the Firmware Update screen and pick a version.
3. Tap Update. Keep the radio and phone on the same network for the whole transfer.

Wi-Fi OTA takes the ESP32 T383838-update.bin image rather than the T383838.uf2 a USB update uses; the app selects the right artifact for you.

In-App USB Update

When your radio is connected over USB/serial (rather than Bluetooth), the Firmware Update screen offers USB File Transfer. The app reboots the device into DFU mode, then prompts you to save the T383838.uf2 file to the device's DFU drive using the system file picker. This option appears only on a USB/serial connection β€” it is not available over Bluetooth.

β”‚ ℹ️ Note: A vendor nRF bootloader supplied as a T383838.zip (e.g. RAK WisBlock RAK4631) has to be flashed
β”‚ with a serial DFU tool such as T383838adafruit-nrfutil β€” copying that T383838.zip to the drive won't work. A
β”‚ bootloader supplied as an T383838update-....uf2 can be installed by copying it to the drive; that is how
β”‚ the app's own bootloader upgrade works. The app surfaces a hint when the serial-only route
β”‚ applies.

Factory Erase and Bootloader Upgrade

On a USB/serial connection, nRF52 and RP2040 devices can be wiped as part of an update β€” that is the Erase device during update opt-in described earlier on this page. nRF52 devices additionally offer Upgrade bootloader where an upgraded bootloader is published for the board; RP2040 devices run no Adafruit bootloader, so they never see it.

Both are Android-only. They depend on Android's update-drive checks, so the desktop app does not show them β€” use the Web Flasher there instead.

Select a firmware version before either one: the app hides both until a release is chosen, because the firmware is reinstalled after the device is wiped or the new bootloader is written.

Both a USB erase and a bootloader upgrade write two files in turn, so you are asked to select the device's update drive twice: once for the erase or bootloader image, then again for the firmware.

The app reads T383838INFO_UF2.TXT from the drive you select to confirm it really is the device's update drive and to identify the board before writing anything. If it can't confirm which Bluetooth stack your device uses, it refuses to erase and points you at the Web Flasher instead. In the Web Flasher, choosing the wrong Bluetooth stack can leave the radio recoverable only with a hardware programmer.

Other Flashing Options

For recovery or when neither OTA nor in-app USB is available:

β€’ Use the Meshtastic Web Flasher
β€’ Or the Meshtastic CLI tool on desktop

Version Channels

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Canle β”‚ DescriciΓ³n β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Stable β”‚ Recommended for most users; tested releases β”‚
β”‚ Alpha β”‚ Preview releases; may contain bugs β”‚
β”‚ Local File β”‚ Flash a firmware file you select yourself, instead of a downloaded release β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pre-Update Checklist

Before updating:

β€’ [ ] Battery > 50%
β€’ [ ] Stable Bluetooth connection
β€’ [ ] Note your current settings (they may reset on major version changes)
β€’ [ ] Check the release notes for breaking changes
β€’ [ ] Update the Meshtastic app itself, before or alongside firmware updates, to ensure compatibility

Post-Update

After the firmware is written, the app verifies the update and waits for the device to come back online:


Once the update succeeds:

β€’ The radio reboots automatically
β€’ The Bluetooth connection re-establishes
β€’ Verify your settings are intact
β€’ Confirm the new version under Currently Installed on the Firmware Update screen β€” it's also shown on the node's detail page and the Connections screen


Troubleshooting

Update Stuck

If the update appears frozen:

β€’ Give it a minute. After writing the image the app waits up to 60 seconds for the radio to come back and report its new version, so a pause at the verify step is expected.
β€’ If it is still stuck after that, power-cycle the radio.
β€’ Attempt the update again.

The message Verification timed out. Device did not reconnect in time. means the image was written but the radio did not come back within that window β€” power-cycle it and check the version under Currently Installed before re-running the update.


Radio Won't Boot After Update

If the app told you the Bluetooth update could not be finished, follow the instruction it gave: connect the radio to a computer over USB and re-flash it with the vendor's serial DFU tool, such as T383838adafruit-nrfutil. A stock nRF bootloader cannot reliably complete an interrupted over-the-air update.

Otherwise, if your radio fails to boot:

1. Try connecting via USB to a computer
2. Use the web flasher in recovery/DFU mode
3. Flash a known-good firmware version
4. Check the Meshtastic Discord for device-specific recovery steps

Compatibility Warnings

On connecting, the app compares the radio's firmware against two thresholds and reacts differently to each:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Firmware version β”‚ What you see β”‚ What happens β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Below 2.3.15 β”‚ Firmware update required. β”‚ The app disconnects fr… β”‚
β”‚ 2.3.15 up to, but not including, 2.5.14 β”‚ Firmware Update Recommended. β”‚ Advisory only β€” dismis… β”‚
β”‚ 2.5.14 or newer β”‚ Nothing β”‚ β€” β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

A version string the app cannot parse is ignored rather than treated as too old, so a transient read never disconnects a working radio.

Related Topics

β€’ Connections β€” reconnecting after a firmware update
β€’ Flashing firmware guide β€” full firmware flashing walkthrough on meshtastic.org
β€’ Supported devices β€” check firmware compatibility by device
β€’ FAQ β€” common questions on meshtastic.org

Served by rngit 1.5.2 - Generated in 0.03s